<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>http协议类</title>
</head>
<body>
	<p>
		http协议的主要特点：
					简单快速，灵活，无连接，无状态
		http报文的组成部分
					http报文的主城部分
					请求报文：请求行 + 请求头 + 空行 + 请求体
					响应报文： 状态行 + 响应头 + 空行 + 响应体 
		http方法
				get,post,put,delete,head(获得报文首部)
		post和get的区别
			get参数通过url传递，post放在request body中（请求体中）
			get比post更不安全，因为参数暴露在url上，所以不能用来敏感信息
			get参数有2KB大小限制，post请求大一点
			get请求的参数会被保存在浏览器的历史记录中，而post不会
		http状态码
			1XX：指示信息-表示请求已接收，继续处理
			2XX：成功-表示撑起已被成功接收 
				200ok 客户端请求成功
				206 partialcontent 客户端发送了一个带有Range头的get请求，服务器完成了他
			3XX：重定向-要完成请求必须进行更进一步的操作
				301： 所请求的页面已经 转移至新的url
				302：所请求的页面已经 临时 转移至新的url
				304：还有缓冲文档可以使用
			4XX：客户端错误-请求有语法错误或请求无法实现（404 not found 403 forbidden）
				400 bad request: 客户端请求语法有错误
				401 unauthorized:请求未经授权，这个状态码必须和www-Authenticate报头域一起使用
				403 forbidden: 请求被禁止，一般是由于权限不够
				404 not found: 请求资源不存在
			5XX：服务器错误-服务器未能实现合法的请求
				500 internal Server Error: 服务器发生不可预料的错误，原来缓存的文档还继续使用
				503 server Unavailable: 请求未完成，服务器发生宕机或过载，过段时间可能会恢复
		什么是持久连接
			HTTP协议采用“请求-应答”模式，当使用普遍模式，即非keep-alive 模式时，每个请求/应答客户端和服务器都要新建一个连接，
			完成之后立即断开连接（HTTP协议为无连接的协议）
			当使用keep-alive 模式（又称持久连接、连接重用）是，keep-alive 功能使客户端到服务器端的连接持续有效，
			当出现对服务器的后续请求时，keep-alive 功能避免了建立或者重新建立连接
			（http1.1才开始支持持久连接）
		什么是管线化
			管线化机制通过持久连接完成，仅http1.1支持这技术
			只有get和head请求可以进行管线化
			初次创建连接时不应启动管线机制，因为对方服务器不一定支持http1.1版本的协议
	</p>
</body>
</html>